package com.chee.plant.logic.user;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import com.chee.plant.logic.CmdHandler;
import com.chee.plant.server.Message;
import com.chee.plant.hibernate.dao.BoxDAO;
import com.chee.plant.hibernate.object.Box;

/**
 *展示储物箱中的内容
 * 
 * @author xue cb
 * 
 */
public class ShowBoxHandler implements CmdHandler {

	/**
	 * 根据储物箱的种类分类：种子 药品 装备
	 * 
	 * @param userId
	 */
	public void sortByCategory(int userId) {
		List<Box> list1 = new ArrayList<Box>(); // 用于存储种子的集合
		List<Box> list2 = new ArrayList<Box>(); // 用于存储药品的集合
		List<Box> list3 = new ArrayList<Box>(); // 用于存储装备的集合

		// 得到当前用户一共有多少购买记录，放入List中
		List<Box> list = new BoxDAO().getBoxByUserId(userId);

		for (int i = 0; i < list.size(); i++) {
			// 声明一个Box对象，用于接收每次循环产生的Box对象
			Box box = (Box) (list.get(i));
			// 如果这个是购买Medicine的记录，就把它添加到list2当中
			if (box.getMedicineId() != 0) {
				list2.add(box);
			}
			// 如果这个是购买Feed的记录，就把它添加到list1当中
			else if (box.getFeedId() != 0) {
				list1.add(box);
			}
			// 如果这个是购买equipment的记录，就把它添加到list3当中
			else {
				list3.add(box);
			}
		}

		// 把药品集合中的元素分类统计
		for (int j1 = 0; j1 < list2.size(); j1++) {

			if (list2.get(j1).getMedicineId() != list2.get(j1 + 1)
					.getMedicineId()) {

			}
		}

		// System.out.println(list1.size());
		// System.out.println(list2.size());
		// System.out.println(list3.size());
	}

	@Override
	public Vector<Message> executeCmd(Message msg) {
		// TODO Auto-generated method stub
		return null;
	}

	/**
	 * 主方法，用于测试
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		// 1,测试getBoxByUserId(Integer userId)
		List<Box> list = new BoxDAO().getBoxByUserId(2);
		System.out.println(list.size());
		for (int i = 0; i < list.size(); i++) {
			System.out.println(((Box) (list.get(i))).getCount());

		}

		new ShowBoxHandler().sortByCategory(2);
	}

}
